In order to operate commercial websites successfully, it is desirable to measure and track the ways visitors interact with the website, so that metrics such as usability, effectiveness and conversion rate of the website can be analyzed. Such analytic information can be used in order to take informed actions that change the website's content, structure, design and functionality to support the website operator's business goals. For this process of repeated measurement and improvement two different categories of software are typically employed. The content, design and functionality of the website is provided by a web content management system that stores abstract definitions of the website and its meta data and renders them to visitors of the website using a system that determines how the content should be rendered. Modern content management systems use a component approach that allows for variable and flexible templates to reduce development costs.
Measurement and analytics of websites is performed by a second category of software, web analytics systems, that run independently of the content management system. These systems are optimized for collecting selected data about the website's pages, the visitor and the visitor's interaction with the website. Such systems can aggregate the collected data and allow an operator of the web analytics system (i.e., a web analyst) to identify where the website is performing as expected and where it is not performing as expected.
Websites can provide a multitude of rich interactions and there is a great amount of data that could potentially be collected and analyzed. Extracting such information has generally required a significant amount of manual and often repetitive effort, for example, requiring a process called tagging in which the website's Hyper Text Markup Language (HTML) code will be instrumented to extract the data that should be passed to the web analytics system. This process is typically achieved in content management systems by either manually instrumenting the HTML code directly or by augmenting the templates that will generate the instrumented HTML code. Such tagging requires the collaboration between a web analyst that defines what needs to be tracked in what way and a web developer, who is capable of modifying the templates or the generated HTML code so that the website is instrumented correctly. Since large websites typically use dozens of templates, the process is costly and error-prone, which means less accurate tracking and wrongful analysis. Complex websites consist of thousands or hundreds of thousands of webpages that all need to be instrumented individually to get a complete representation of visitor interaction. Large companies are typically running tens to hundreds of websites that are implemented by different web developers, sometimes working for external agencies or system integrators, which makes communication even more complicated. Existing systems generally fail to ensure consistency and comparability in measuring website performance in these and other environments.